html,
body {
  margin: 0;
  /* 移除HTML和Body的默认边距 */
  padding: 0;
  /* 移除HTML和Body的默认内边距 */
}

body {
  background: #fff;
  /* 设置Body背景色为白色 */
}

button {
  margin: 0;
  /* 重置按钮边距 */
  padding: 0;
  /* 重置按钮内边距 */
  border: 0;
  /* 移除按钮边框 */
  background: none;
  /* 移除按钮背景 */
  font-size: 100%;
  /* 保持按钮字体大小与父元素一致 */
  vertical-align: baseline;
  /* 垂直对齐基准线 */
  font-family: inherit;
  /* 继承字体 */
  font-weight: inherit;
  /* 继承字重 */
  color: inherit;
  /* 继承文字颜色 */
  -webkit-appearance: none;
  /* 移除WebKit浏览器默认样式 */
  appearance: none;
  /* 移除浏览器默认样式 */
  -webkit-font-smoothing: antialiased;
  /* WebKit字体抗锯齿 */
  -moz-osx-font-smoothing: grayscale;
  /* Firefox字体抗锯齿 */
}

body {
  font: 14px 'Helvetica Neue', Helvetica, Arial, sans-serif;
  /* 设置字体 */
  line-height: 1.4em;
  /* 行高 */
  background: #f5f5f5;
  /* 背景色 */
  color: #4d4d4d;
  /* 文字颜色 */
  min-width: 230px;
  /* 最小宽度 */
  max-width: 550px;
  /* 最大宽度 */
  margin: 0 auto;
  /* 水平居中 */
  -webkit-font-smoothing: antialiased;
  /* WebKit字体抗锯齿 */
  -moz-osx-font-smoothing: grayscale;
  /* Firefox字体抗锯齿 */
  font-weight: 300;
  /* 字重 */
}

:focus {
  outline: 0;
  /* 移除焦点轮廓 */
}

.hidden {
  display: none;
  /* 隐藏元素 */
}

#app {
  background: #fff;
  /* 背景色 */
  margin: 180px 0 40px 0;
  /* 外边距（上下180/40px，左右0） */
  padding: 15px;
  /* 内边距 */
  position: relative;
  /* 定位基准 */
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2), 0 25px 50px 0 rgba(0, 0, 0, 0.1);
  /* 盒子阴影 */
}

#app .header input {
  border: 2px solid rgba(175, 47, 47, 0.8);
  /* 边框 */
  border-radius: 10px;
  /* 边框圆角 */
}

#app .add {
  position: absolute;
  /* 绝对定位 */
  right: 15px;
  /* 右侧距离 */
  top: 15px;
  /* 顶部距离 */
  height: 68px;
  /* 高度 */
  width: 140px;
  /* 宽度 */
  text-align: center;
  /* 文本居中 */
  background-color: rgba(175, 47, 47, 0.8);
  /* 背景色 */
  color: #fff;
  /* 文字颜色 */
  cursor: pointer;
  /* 鼠标样式为指针 */
  font-size: 18px;
  /* 字体大小 */
  border-radius: 0 10px 10px 0;
  /* 边框圆角（右上下角10px） */
}

#app input::-webkit-input-placeholder {
  font-style: italic;
  /* 斜体 */
  font-weight: 300;
  /* 字重 */
  color: #e6e6e6;
  /* 颜色 */
}

#app input::-moz-placeholder {
  font-style: italic;
  /* 斜体 */
  font-weight: 300;
  /* 字重 */
  color: #e6e6e6;
  /* 颜色 */
}

#app input::input-placeholder {
  font-style: italic;
  /* 斜体 */
  font-weight: 300;
  /* 字重 */
  color: gray;
  /* 颜色 */
}

#app h1 {
  position: absolute;
  /* 绝对定位 */
  top: -120px;
  /* 顶部距离（负值向上偏移） */
  width: 100%;
  /* 宽度100% */
  left: 50%;
  /* 左侧50% */
  transform: translateX(-50%);
  /* 水平移动-50%实现居中 */
  font-size: 60px;
  /* 字体大小 */
  font-weight: 100;
  /* 字重 */
  text-align: center;
  /* 文本居中 */
  color: rgba(175, 47, 47, 0.8);
  /* 颜色 */
  -webkit-text-rendering: optimizeLegibility;
  /* WebKit文本渲染优化 */
  -moz-text-rendering: optimizeLegibility;
  /* Firefox文本渲染优化 */
  text-rendering: optimizeLegibility;
  /* 文本渲染优化 */
}

.new-todo,
.edit {
  position: relative;
  /* 定位基准 */
  margin: 0;
  /* 边距 */
  width: 100%;
  /* 宽度100% */
  font-size: 24px;
  /* 字体大小 */
  font-family: inherit;
  /* 继承字体 */
  font-weight: inherit;
  /* 继承字重 */
  line-height: 1.4em;
  /* 行高 */
  border: 0;
  /* 移除边框 */
  color: inherit;
  /* 继承文字颜色 */
  padding: 6px;
  /* 内边距 */
  box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
  /* 内阴影 */
  box-sizing: border-box;
  /* 盒模型计算方式 */
  -webkit-font-smoothing: antialiased;
  /* WebKit字体抗锯齿 */
  -moz-osx-font-smoothing: grayscale;
  /* Firefox字体抗锯齿 */
}

.new-todo {
  padding: 16px;
  /* 内边距 */
  border: none;
  /* 移除边框 */
  background: rgba(0, 0, 0, 0.003);
  /* 背景色 */
  box-shadow: inset 0 -2px 1px rgba(0, 0, 0, 0.03);
  /* 内阴影 */
}

.main {
  position: relative;
  /* 定位基准 */
  z-index: 2;
  /* 层叠顺序 */
}

.todo-list {
  margin: 0;
  /* 边距 */
  padding: 0;
  /* 内边距 */
  list-style: none;
  /* 移除列表符号 */
  overflow: hidden;
  /* 溢出隐藏 */
}

.todo-list li {
  position: relative;
  /* 定位基准 */
  font-size: 24px;
  /* 字体大小 */
  height: 60px;
  /* 高度 */
  box-sizing: border-box;
  /* 盒模型计算方式 */
  border-bottom: 1px solid #e6e6e6;
  /* 底部边框 */
}

.todo-list li:last-child {
  border-bottom: none;
  /* 最后一个列表项移除底部边框 */
}

.todo-list .view .index {
  position: absolute;
  /* 绝对定位 */
  color: gray;
  /* 颜色 */
  left: 10px;
  /* 左侧距离 */
  top: 20px;
  /* 顶部距离 */
  font-size: 22px;
  /* 字体大小 */
}

.todo-list li .toggle {
  text-align: center;
  /* 文本居中 */
  width: 40px;
  /* 宽度 */
  height: auto;
  /* 高度自适应 */
  position: absolute;
  /* 绝对定位 */
  top: 0;
  /* 顶部距离0 */
  bottom: 0;
  /* 底部距离0 */
  margin: auto 0;
  /* 垂直居中 */
  border: none;
  /* 移除边框 */
  -webkit-appearance: none;
  /* 移除WebKit默认样式 */
  appearance: none;
  /* 移除浏览器默认样式 */
}

.todo-list li .toggle {
  opacity: 0;
  /* 透明度0（隐藏） */
}

.todo-list li .toggle+label {
  background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23ededed%22%20stroke-width%3D%223%22/%3E%3C/svg%3E');
  /* 未选中状态背景图 */
  background-repeat: no-repeat;
  /* 不重复 */
  background-position: center left;
  /* 背景位置 */
}

.todo-list li .toggle:checked+label {
  background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23bddad5%22%20stroke-width%3D%223%22/%3E%3Cpath%20fill%3D%22%235dc2af%22%20d%3D%22M72%2025L42%2071%2027%2056l-4%204%2020%2020%2034-52z%22/%3E%3C/svg%3E');
  /* 选中状态背景图 */
}

.todo-list li label {
  word-break: break-all;
  /* 文字自动换行 */
  padding: 15px 15px 15px 60px;
  /* 内边距（上右下左） */
  display: block;
  /* 块级元素 */
  line-height: 1.2;
  /* 行高 */
  transition: color 0.4s;
  /* 颜色过渡效果 */
}

.todo-list li.completed label {
  color: #d9d9d9;
  /* 已完成事项文字颜色 */
  text-decoration: line-through;
  /* 文字删除线 */
}

.todo-list li .destroy {
  display: none;
  /* 隐藏元素 */
  position: absolute;
  /* 绝对定位 */
  top: 0;
  /* 顶部距离0 */
  right: 10px;
  /* 右侧距离 */
  bottom: 0;
  /* 底部距离0 */
  width: 40px;
  /* 宽度 */
  height: 40px;
  /* 高度 */
  margin: auto 0;
  /* 垂直居中 */
  font-size: 30px;
  /* 字体大小 */
  color: #cc9a9a;
  /* 颜色 */
  margin-bottom: 11px;
  /* 底部边距 */
  transition: color 0.2s ease-out;
  /* 颜色过渡效果 */
}

.todo-list li .destroy:hover {
  color: #af5b5e;
  /* 鼠标悬停颜色 */
}

.todo-list li .destroy:after {
  content: '×';
  /* 伪元素内容 */
}

.todo-list li:hover .destroy {
  display: block;
  /* 鼠标悬停时显示 */
}

.todo-list li .edit {
  display: none;
  /* 隐藏元素 */
}

.todo-list li.editing:last-child {
  margin-bottom: -1px;
  /* 底部边距负值修正边框 */
}

.footer {
  color: #777;
  /* 文字颜色 */
  padding: 10px 15px;
  /* 内边距 */
  height: 20px;
  /* 高度 */
  text-align: center;
  /* 文本居中 */
  border-top: 1px solid #e6e6e6;
  /* 顶部边框 */
}

.footer:before {
  content: '';
  /* 伪元素内容 */
  position: absolute;
  /* 绝对定位 */
  right: 0;
  /* 右侧距离0 */
  bottom: 0;
  /* 底部距离0 */
  left: 0;
  /* 左侧距离0 */
  height: 50px;
  /* 高度 */
  overflow: hidden;
  /* 溢出隐藏 */
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2), 0 8px 0 -3px #f6f6f6,
    /* 多层阴影效果 */
    0 9px 1px -3px rgba(0, 0, 0, 0.2), 0 16px 0 -6px #f6f6f6,
    0 17px 2px -6px rgba(0, 0, 0, 0.2);
}

.todo-count {
  float: left;
  /* 左浮动 */
  text-align: left;
  /* 文本左对齐 */
}

.todo-count strong {
  font-weight: 300;
  /* 字重 */
}

.filters {
  margin: 0;
  /* 边距 */
  padding: 0;
  /* 内边距 */
  list-style: none;
  /* 移除列表符号 */
  position: absolute;
  /* 绝对定位 */
  right: 0;
  /* 右侧距离0 */
  left: 0;
  /* 左侧距离0 */
}

.filters li {
  display: inline;
  /* 行内元素 */
}

.filters li a {
  color: inherit;
  /* 继承文字颜色 */
  margin: 3px;
  /* 边距 */
  padding: 3px 7px;
  /* 内边距 */
  text-decoration: none;
  /* 移除下划线 */
  border: 1px solid transparent;
  /* 透明边框 */
  border-radius: 3px;
  /* 边框圆角 */
}

.filters li a:hover {
  border-color: rgba(175, 47, 47, 0.1);
  /* 鼠标悬停时边框颜色 */
}

.filters li a.selected {
  border-color: rgba(175, 47, 47, 0.2);
  /* 选中状态边框颜色 */
}

.clear-completed,
html .clear-completed:active {
  float: right;
  /* 右浮动 */
  position: relative;
  /* 定位基准 */
  line-height: 20px;
  /* 行高 */
  text-decoration: none;
  /* 移除下划线 */
  cursor: pointer;
  /* 鼠标样式为指针 */
}

.clear-completed:hover {
  text-decoration: underline;
  /* 鼠标悬停时下划线 */
}

.info {
  margin: 50px auto 0;
  /* 边距（上50px，水平居中，下0） */
  color: #bfbfbf;
  /* 文字颜色 */
  font-size: 15px;
  /* 字体大小 */
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  /* 阴影 */
  text-align: center;
  /* 文本居中 */
}